#ifndef DBUS_CLIENT_H
#define DBUS_CLIENT_H

#include <sdbus-c++/sdbus-c++.h>
#include <vector>
#include <string>

class dbusClient
{
  public:
    dbusClient();
    std::vector<long> GetAllTaskList();
    std::vector<long> GetHandleFinishTaskList(long task_id);
    std::vector<long> GetRecordList(long task_id);
    std::tuple<std::string/*task_name*/,std::string/*create_time*/> GetTaskInf(long task_id);
    std::tuple<long/*stu_id*/,std::string/*create time*/,std::string/*record path*/> GetRecordInf(long rec_id);
    std::vector<std::string> GetCameraIDList();
    bool OutputData(long recordID, std::string path);
  private:
    std::unique_ptr<sdbus::IConnection> conn;
    std::unique_ptr<sdbus::IProxy> proxy;
    const char* InterfaceName="org.HBTY.ReviewUI";
};

#endif
